在調整完架構後,終於可以準備讓 Line bot 成為我們的主要使用者介面了。
從服務的角度來說,LINE Bot就是大家熟悉的官方帳號(Official Account),而從技術的角度來說,它是一個建立在LINE Platform上的頻道(Channel)。
LINE Platform是一個後端平台,它整合並提供了各種LINE的相關服務給第三方應用程式或開發者。當使用者(User)傳送訊息給某個官方帳號時,實際上是傳送給LINE Platform上指定的頻道。
Messaging API是LINE Platform發送的Webhook,或提供給開發者(以下簡稱Server端)的 API的統稱。Server端可以透過這些 API 和 LINE Platform溝通。
除了接收來自使用者的Webhook訊息以外,Server端還可以透過API去對指定的頻道進行多種操作。例如送出訊息,回覆訊息,或者取得向這個頻道發送訊息的使用者 ID等等。
使用者傳訊息給LINE Bot
當使用者在手機或電腦上使用 LINE 傳訊息時,訊息實際上是透過 LINE 程式送到 LINE Platform 上的某個頻道。如果有設定好Webhook的目的端URL,LINE Plattform就會將訊息轉發到Server端。
Server端可以收到LINE Platform 傳來的訊息。只要在API request,或者透過LINE Bot SDK指定好頻道,以及驗證需要的Token,就可以使用Message API將處理好的訊息交給LINE Platform,最後由它回覆給User。
使用者發送訊息 ➜ LINE Platform 收到訊息 ➜ LINE Platform 轉發Webhook訊息到 Server ➜ Server 處理並透過API回覆 ➜ LINE Platform 將回覆發送給使用者。
了解原理後,下一步要做的是,從LINE Developers申請官方帳號 / 頻道,並且設定好這個頻道接收後要轉發的目的端。此外,還需要取得傳輸訊息所需的驗證資訊,才可以讓Server端到Client端的雙向溝通順利運作。
這些設定以及 Messaging的進一步介紹,我會在下一篇繼續說明。
Citation: https://developers.line.biz/en/docs/basics/channel-access-token/#what-is-channel